package com.foodie.designpattern.singleton;

/**
 * 单例模式
 * 1)构造函数私有化
 * 2)提供对外获取唯一对象的公共方法(因为单例类的对象是不能使用new来创建的，所以这个方法必须是静态的；
 *  且唯一的对象也需是类初始化时就被创建，需定义成静态变量)
 */
public class Singleton {//以懒汉式为例

    private static Singleton singleton = new Singleton();

    private Singleton() {
    }

    public static Singleton getInstance() {
        return singleton;
    }
}
/*备注：
1、静态方法不能操作非静态的变量,非静态方法可操作静态变量
2、类会在首次被“主动使用”时执行初始化，为类（静态）变量赋予正确的初始值

单例模式：
1、单例类只能有一个实例。
2、单例类必须自己创建自己的唯一实例。
3、单例类必须给所有其他对象提供这一实例。
*/
